package 字符串;

/**
 * @author ssh
 * @date 2025/9/1
 * @description 给定一个字符串 s，它包含小写字母和数字字符，请编写一个函数，将字符串中的字母字符保持不变，而将每个数字字符替换为number。
 */
public class 替换数字 {
    public String replaceDigits(String s) {
        char[] ch= s.toCharArray();
        int len=0;
        for (int i=0;i<ch.length;i++){
            if (Character.isDigit(ch[i])){
                len=len+5;
            }
        }
        //创建字符新数组,并且复制
        char[] newCh=new char[ch.length+len];
        for (int i = 0; i < ch.length; i++) {
            newCh[i]=ch[i];
        }

        for (int i=ch.length-1,j=newCh.length-1;i>=0 && j>=0;i--){
            if (!Character.isDigit(ch[i])){
                newCh[j--]=ch[i];
            }else {
                newCh[j--]='r';
                newCh[j--]='e';
                newCh[j--]='b';
                newCh[j--]='m';
                newCh[j--]='u';
                newCh[j--]='n';
            }
        }

        return new String(newCh);
    }

    public static void main(String[] args) {
        // 测试代码
        String s = "a1b2c3";
        替换数字 solution = new 替换数字();
        String result = solution.replaceDigits(s);
        System.out.println(result); // 输出: "anumberbnumbercnumber"
    }
}
